package com.gitee.qdbp.general.common.api.settings.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 系统配置定制更新类
 *
 * @author zhh
 * @version 180809
 */
@OperateTraces(target = "where")
@DataIsolation(target = "where")
public class SystemConfigCustomizeUpdate extends SystemConfigCustomizeBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 上级主键是否更新为空值 **/
    private Boolean parentIdToNull;

    /** 租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 使用场景是否更新为空值 **/
    private Boolean sceneTypeToNull;

    /** 数据类型(1.选项|2.列表)是否更新为空值 **/
    private Boolean dataTypeToNull;

    /** 配置项值(程序使用)是否更新为空值 **/
    private Boolean configValueToNull;

    /** 配置项值的显示文本是否更新为空值 **/
    private Boolean configTextToNull;

    /** 修改时间是否更新为数据库当前时间 **/
    private Boolean updateTimeToCurrent;
    /** 修改时间的增加值(单位:秒) **/
    private Long updateTimeAdd;

    /** 更新操作的条件 **/
    private SystemConfigCustomizeWhere where;

    /** 判断上级主键是否更新为空值 **/
    public Boolean isParentIdToNull() {
        return parentIdToNull;
    }

    /**
     * 设置上级主键是否更新为空值
     *
     * @param parentIdToNull 上级主键是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setParentIdToNull(Boolean parentIdToNull) {
        this.parentIdToNull = parentIdToNull;
    }

    /** 判断租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /**
     * 设置租户编号是否更新为空值
     *
     * @param tenantCodeToNull 租户编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断使用场景是否更新为空值 **/
    public Boolean isSceneTypeToNull() {
        return sceneTypeToNull;
    }

    /**
     * 设置使用场景是否更新为空值
     *
     * @param sceneTypeToNull 使用场景是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSceneTypeToNull(Boolean sceneTypeToNull) {
        this.sceneTypeToNull = sceneTypeToNull;
    }

    /** 判断数据类型(1.选项|2.列表)是否更新为空值 **/
    public Boolean isDataTypeToNull() {
        return dataTypeToNull;
    }

    /**
     * 设置数据类型(1.选项|2.列表)是否更新为空值
     *
     * @param dataTypeToNull 数据类型(1.选项|2.列表)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setDataTypeToNull(Boolean dataTypeToNull) {
        this.dataTypeToNull = dataTypeToNull;
    }

    /** 判断配置项值(程序使用)是否更新为空值 **/
    public Boolean isConfigValueToNull() {
        return configValueToNull;
    }

    /** 设置配置项值(程序使用)是否更新为空值 **/
    public void setConfigValueToNull(Boolean configValueToNull) {
        this.configValueToNull = configValueToNull;
    }

    /** 判断配置项值的显示文本是否更新为空值 **/
    public Boolean isConfigTextToNull() {
        return configTextToNull;
    }

    /** 设置配置项值的显示文本是否更新为空值 **/
    public void setConfigTextToNull(Boolean configTextToNull) {
        this.configTextToNull = configTextToNull;
    }

    /** 判断修改时间是否更新为数据库当前时间 **/
    public Boolean isUpdateTimeToCurrent() {
        return updateTimeToCurrent;
    }

    /** 设置修改时间是否更新为数据库当前时间 **/
    public void setUpdateTimeToCurrent(Boolean updateTimeToCurrent) {
        this.updateTimeToCurrent = updateTimeToCurrent;
    }

    /** 获取修改时间的增加值(单位:秒) **/
    public Long getUpdateTimeAdd() {
        return updateTimeAdd;
    }

    /** 设置修改时间的增加值(单位:秒) **/
    public void setUpdateTimeAdd(Long updateTimeAdd) {
        this.updateTimeAdd = updateTimeAdd;
    }

    /** 获取更新操作的条件 **/
    public SystemConfigCustomizeWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public SystemConfigCustomizeWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new SystemConfigCustomizeWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(SystemConfigCustomizeWhere where) {
        this.where = where;
    }
}